package de.hauschild.gmltracer.gml;

import java.util.List;

/**
 * A interpreter evaluates the given sequence token by token and stores the
 * result at the stack.
 * 
 * @author Klaus Hauschild
 * @since 1.0.0
 */
public interface Interpreter {

  /**
   * Interpret the given token sequence using the stack and the environment.
   * 
   * @param environment
   *          the environment
   * @param tokenStack
   *          the token stack
   * @param tokenSequence
   *          the token sequence
   */
  void interpret(final Environment environment, final TokenStack tokenStack, final List<Token> tokenSequence);
}
